6 research outputs found

    Using ACL2 to Verify Loop Pipelining in Behavioral Synthesis

    Get PDF
    Behavioral synthesis involves compiling an Electronic System-Level (ESL) design into its Register-Transfer Level (RTL) implementation. Loop pipelining is one of the most critical and complex transformations employed in behavioral synthesis. Certifying the loop pipelining algorithm is challenging because there is a huge semantic gap between the input sequential design and the output pipelined implementation making it infeasible to verify their equivalence with automated sequential equivalence checking techniques. We discuss our ongoing effort using ACL2 to certify loop pipelining transformation. The completion of the proof is work in progress. However, some of the insights developed so far may already be of value to the ACL2 community. In particular, we discuss the key invariant we formalized, which is very different from that used in most pipeline proofs. We discuss the needs for this invariant, its formalization in ACL2, and our envisioned proof using the invariant. We also discuss some trade-offs, challenges, and insights developed in course of the project.Comment: In Proceedings ACL2 2014, arXiv:1406.123

    Certifying Loop Pipelining Transformations in Behavioral Synthesis

    Get PDF
    Due to the rapidly increasing complexity in hardware designs and competitive time to market trends in the industry, there is an inherent need to move designs to a higher level of abstraction. Behavioral Synthesis is the process of automatically compiling such Electronic System Level (ESL) designs written in high-level languages such as C, C++ or SystemC into Register-Transfer Level (RTL) implementation in hardware description languages such as Verilog or VHDL. However, the adoption of this flow is dependent on designers\u27 faith in the correctness of behavioral synthesis tools. Loop pipelining is a critical transformation employed in behavioral synthesis process, and ubiquitous in commercial and academic behavioral synthesis tools. It improves the throughput and reduces the latency of the synthesized hardware. It is complex and error-prone, and a small bug can result in faulty hardware with expensive ramifications. Therefore, it is critical to certify the loop pipelining transformation so that designers can trust the behaviorally synthesized pipelined designs. Certifying a loop pipelining transformation is however, a major research challenge because there is a huge semantic gap between the input sequential design and the output pipelined implementation, making it infeasible to verify their equivalence with automated sequential equivalence checking (SEC) techniques. Complex loop pipelining transformations can be certified by a combination of theorem proving and SEC: (1) creating a certified pipelining algorithm which generates a reference pipeline model by exploiting pipeline generation information from the synthesis flow (e.g. the iteration interval of a generated pipeline) and (2) conduct SEC between the synthesized pipeline and this reference model. However, a key and arguably, the most complex component of this approach is the development of a formal, mechanically verifiable loop pipelining algorithm. We show how to systematically construct such an algorithm, and carry out its verification using the ACL2 theorem prover. We propose a framework of certified pipelining primitives which are essential for designing pipelining algorithms. Using our framework, we build a certified loop pipelining algorithm. We also propose a key invariant in certifying this algorithm, which links sequential loops with their pipelined counterparts. This is unlike other invariants that have been used in proofs of microprocessor pipelines so far. This dissertation provides a framework for creating certified pipelining algorithms utilizing a mechanical theorem prover. Using this framework, we have developed a certified loop pipelining algorithm. This certified algorithm is essential in the overall approach to certify behaviorally synthesized pipelined designs. We demonstrate the scalability and robustness of our algorithm on several ESL designs across various domains

    Ethnomedicinal Plants Traditionally Used for the Treatment of Jaundice (Icterus) in Himachal Pradesh in Western Himalaya—A Review

    No full text
    Ethnomedicinal plants have a significant role in the lives of people of rural and tribal areas. Thousands of medicinal plant species are used to treat various diseases, including jaundice, and are considered an important therapeutic resource to minimize these diseases. Jaundice (icterus) is a chronic disease that occurs when the amount of bilirubin in the blood increases. This review describes different ethnomedicinal plants used for curing jaundice by tribal and rural people of Himachal Pradesh. The study reveals 87 ethnomedicinal plant species belonging to 51 different families, which are used for treating jaundice in Himachal Pradesh. These plants are arranged in a systematic way, which includes a description of their common name, botanical name, along with its family, plant parts used, region, and mode of use in tabulated form. Some of the plant extracts have already been explored for their phytochemical and pharmacological significance and proved their potential in the preparation of new medicines or drugs against the treatment of jaundice. This review is an attempt to highlight the indigenous knowledge of medicinal plants, which are specifically used for the treatment of jaundice. The data mentioned in the present review is compiled from various sources like existing literature, books, Google Scholar, and Scopus publications. Among all the observed plant species, most used medicinal plants for the treatment of jaundice include Justicia adhatoda, Emblica officinalis, Ricinus communis, Saccharum officinarum, Terminalia chebula, Berberis aristata, Cuscuta reflexa, and Tinospora cordifolia. Plants that are mostly utilized for the treatment of jaundice need to be scientifically validated by pharmacological analysis and should be subsequently used for the preparation of new drugs, which may prove far more beneficial than the existing one

    Ethnomedicinal Plants Traditionally Used for the Treatment of Jaundice (Icterus) in Himachal Pradesh in Western Himalaya—A Review

    No full text
    Ethnomedicinal plants have a significant role in the lives of people of rural and tribal areas. Thousands of medicinal plant species are used to treat various diseases, including jaundice, and are considered an important therapeutic resource to minimize these diseases. Jaundice (icterus) is a chronic disease that occurs when the amount of bilirubin in the blood increases. This review describes different ethnomedicinal plants used for curing jaundice by tribal and rural people of Himachal Pradesh. The study reveals 87 ethnomedicinal plant species belonging to 51 different families, which are used for treating jaundice in Himachal Pradesh. These plants are arranged in a systematic way, which includes a description of their common name, botanical name, along with its family, plant parts used, region, and mode of use in tabulated form. Some of the plant extracts have already been explored for their phytochemical and pharmacological significance and proved their potential in the preparation of new medicines or drugs against the treatment of jaundice. This review is an attempt to highlight the indigenous knowledge of medicinal plants, which are specifically used for the treatment of jaundice. The data mentioned in the present review is compiled from various sources like existing literature, books, Google Scholar, and Scopus publications. Among all the observed plant species, most used medicinal plants for the treatment of jaundice include Justicia adhatoda, Emblica officinalis, Ricinus communis, Saccharum officinarum, Terminalia chebula, Berberis aristata, Cuscuta reflexa, and Tinospora cordifolia. Plants that are mostly utilized for the treatment of jaundice need to be scientifically validated by pharmacological analysis and should be subsequently used for the preparation of new drugs, which may prove far more beneficial than the existing one
    corecore